package com.ctshk.rpc.starvip.req.user;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * @BelongsProject: ctshk-cloud
 * @BelongsPackage: com.ctshk.rpc.starvip.req.user
 * @Author: hef
 * @CreateTime: 2021-04-13 17:49
 * @Description: 星赏会用户新增或更新
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class StarVipUserCreateOpUpdateReq implements Serializable {

    /**
     * 集团客户编号
     * 有id则是更新
     */
    @ApiModelProperty(value = "集团客户编号",required = true)
    private String id;
    /**
     * 集团客户编码
     * (在一部分接口里面客户ID是这个字段)
     */
    private String contactId;
    /**
     * 主要手机号码
     * 于手机号码由国家代码 + 号码组成，中间以连接符“-”隔开，最长不得超过16位。
     * •	国家代码同固定电话，即采用数字编码，最长不超过3位（整个手机号码最长不得超过16位），且不能为空。
     * •	号码采用数字编码，最长不超过14位（整个手机号码最长不得超过16位），号码前不需要加“0”。
     */
    private String cellularPhone;
    /**
     * 电子邮件
     */
    private String emailAddress;
    /**
     * 证件号码
     */
    private String ctsIdentityNum;
    /**
     * 证件类型
     */
    private String ctsIdentityType;
    /**
     * 客户类型
     */
    private String customerValue;
    /**
     * 生日
     */
    private LocalDate birthDate;
    /**
     * 英文名字
     */
    private String firstName;
    /**
     * 收入
     */
    private BigDecimal income;
    /**
     * 职务
     */
    private String jobTitle;
    /**
     * （英语姓名）姓氏
     */
    private String lastName;
    /**
     * 客户姓名拼音
     */
    private String contactNameSpell;
    /**
     * 性别
     * @enum StarVipSexCode
     */
    private String mf;
    /**
     * 称谓
     * @enum StarVipMrMsCode
     */
    private String mm;
    /**
     * 婚姻状况
     * @enum StarVipMaritalStatusCode
     */
    private String maritalStatus;
    /**
     * 英文中间名
     */
    private String middleName;
    /**
     * 所处生命周期状态
     * @enum StartUserStatus
     */
    private String status;
    /**
     * 致电
     */
    private String suppressAllCalls;
    /**
     * 电子邮件
     */
    private String suppressAllEmails;
    /**
     * 传真
     */
    private String suppressAllFaxes;
    /**
     * 邮寄
     */
    private String suppressAllMailings;
    /**
     * 籍贯
     */
    private String ctsBirthPlace;
    /**
     * 居住城市
     */
    private String ctsCity;
    /**
     * 所在单位名称
     */
    private String ctsCompany;
    /**
     * 客户状态
     * @enum StarVipContactStatus
     */
    private String ctsContactStatus;
    /**
     * 大众
     */
    private String ctsFoodGeneralFlg;
    /**
     * 清真
     */
    private String ctsFoodMuslimFlg;
    /**
     * 素食
     */
    private String ctsFoodVegetarianFlg;
    /**
     * 母语名字
     */
    @ApiModelProperty(name = "母语名字",required = true)
    private String ctsFstName;
    /**
     * 文化
     */
    private String ctsHobbyCultureFlg;
    /**
     * 时装
     */
    private String ctsHobbyFashionFlg;
    /**
     * 电影
     */
    private String ctsHobbyMovieFlg;
    /**
     * 音乐
     */
    private String ctsHobbyMusicFlg;
    /**
     * 购物
     */
    private String ctsHobbyShoppingFlg;
    /**
     * 运动
     */
    private String ctsHobbySportFlg;
    /**
     * 旅游
     */
    private String ctsHobbyTravelFlg;
    /**
     * 所属行业
     */
    private String ctsIndustry;
    /**
     * 语言偏好
     */
    private String ctsLanguage;
    /**
     * 母语姓氏
     */
    @ApiModelProperty(value = "母语姓氏",required = true)
    private String ctsLastName;
    /**
     * 文字偏好
     */
    private String ctsWord;
    /**
     * 教育程度
     * @enum StarVipUserEducation
     */
    private String educationalBackground;
    /**
     *
     */
    private String partyTypeCode;
    /**
     * 民族
     */
    private String race;
    /**
     * 短信
     */
    private String suppressAllSMS;
    /**
     * 会员信息
     */
    private List<LoyMemberReq> loyMember;
    /**
     * 来源公司
     */
    private List <ContactOrganizationReq>	contactOrganization;
    /**
     * 备用电话
     */
    private List<AlternatePhoneReq> alternatePhone;
    /**
     * 传真
     */
    private List<LoyCommunicationFaxReq> loyCommunicationFax;
    /**
     * 即时通讯
     */
    private List<LoyCommunicationSmsReq> loyCommunicationSms;
    /**
     * 个人地址
     */
    private List<PersonalAddressReq> personalAddress;
    /**
     * 手机号
     */
    private List<CtsMobilePhoneReq> ctsMobilePhone;
    /**
     *
     */
    private List<ContactAccountReq> contactAccount;
    /**
     *
     */
    private List<ContactAccountAffiliationReq> contactAccountAffiliation;
    /**
     * 注释
     */
    private List<ContactNoteReq> contactNote;
    /**
     * 联系人
     */
    private List<PartyRelationshipToReq> partyRelationshipTo;




}
